<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <ui:composition template="templates/adminLayout.xhtml">

        <ui:define name="title">Biblioteca CIDETEC Administrador - Usuario</ui:define>
        <ui:define name="contenido">
            <div class="row">
                <div class="col-md-4 col-md-offset-2">
                    <h:form id="formConsultarUsuario">  
                        <p:messages id="messages" closable="true" /> 
                        <p:commandButton value="actulizar" action="#{adminUsuarioController.consultarUsuarioExecute()}" update="gridUno"/>
                        <h:panelGrid columns="1" id="gridUno">            
                            <p:dataTable id="tableUsuarios" 
                                         value="#{adminUsuarioController.lazyDataModel}" 
                                         emptyMessage="No se encontraron personas"
                                         var="usuario"
                                         selectionMode="single"
                                         rowKey="#{usuario.nick}"  
                                         selection="#{adminUsuarioController.selectedUsuario}" 
                                         paginator="true" 
                                         rows="10"  
                                         paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"  
                                         rowsPerPageTemplate="5,10,15" 
                                         lazy="true">
                                <p:ajax event="rowSelect" listener="#{adminUsuarioController.onRowSelect}" update=":formUpdateUsuario:display" oncomplete="PF('personaDialog').show()" />  

                                <p:column headerText="Nick" sortBy="nick" filterBy="#{usuario.nick}" >
                                    <h:outputText value="#{usuario.nick}" />  
                                </p:column>
                                <p:column headerText="Nombre" sortBy="persona.nombre" filterBy="#{usuario.persona.nombre}">
                                    <h:outputText value="#{usuario.persona.nombre}" />  
                                </p:column>
                                <p:column headerText="Apellido paterno" sortBy="persona.apPaterno" filterBy="#{usuario.persona.apPaterno}">
                                    <h:outputText value="#{usuario.persona.apPaterno}" />  
                                </p:column>
                                <p:column headerText="Apellido materno" sortBy="persona.apMaterno" filterBy="#{usuario.persona.apMaterno}">
                                    <h:outputText value=" #{usuario.persona.apMaterno}" />  
                                </p:column>
                                <p:column headerText="Email" sortBy="persona.email" filterBy="#{usuario.persona.email}">
                                    <h:outputText value="#{usuario.persona.email}" />  
                                </p:column>
                                <p:column style="width:4%">  
                                    <p:commandButton id="buttonEliminar" action="#{adminUsuarioController.eliminarUsuarioExecute()}" 
                                                     update=":formConsultarUsuario" icon="ui-icon-trash" title="Eliminar" >
                                        <f:setPropertyActionListener value="#{usuario}" target="#{adminUsuarioController.selectedUsuario}" />  
                                    </p:commandButton>
                                </p:column>  
                            </p:dataTable>
                        </h:panelGrid>  
                    </h:form>

                    <h:form id="formUpdateUsuario">
                        <p:dialog header="Datos persona" widgetVar="personaDialog" resizable="false" id="prsDlg"  
                                  showEffect="clip" hideEffect="fold" modal="true">  

                            <h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">  
                                <h:outputText value="Nombre: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.nombre}" style="font-weight:bold"/>  

                                <h:outputText value="Apellido paterno: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.apPaterno}" style="font-weight:bold"/>  


                                <h:outputText value="Apellido materno: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.apMaterno}" style="font-weight:bold"/>  

                                <h:outputText value="Sexo: " />  
                                <h:selectOneRadio value="#{adminUsuarioController.selectedUsuario.persona.sexo}">
                                    <f:selectItem itemValue="M" itemLabel="Masculino" />
                                    <f:selectItem itemValue="F" itemLabel="Femenino" />
                                </h:selectOneRadio> 

                                <h:outputText value="Telefono: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.telefono}" style="font-weight:bold"/>  

                                <h:outputText value="Email: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.email}" style="font-weight:bold"/>  

                                <h:outputText value="Direccion: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.persona.direccion}" style="font-weight:bold"/> 

                                <h:outputText value="Nick: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.nick}" style="font-weight:bold"/>  

                                <h:outputText value="Password: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.password}" style="font-weight:bold"/>  

                                <h:outputText value="Tipo usuario: " />  
                                <p:inputText value="#{adminUsuarioController.selectedUsuario.tipoUsuario}" style="font-weight:bold"/> 

                                <h:outputText value="Estado: " />  
                                <h:selectOneRadio value="#{adminUsuarioController.selectedUsuario.activo}">
                                    <f:selectItem itemValue="false" itemLabel="Inactivo" />
                                    <f:selectItem itemValue="true" itemLabel="Activo" />
                                </h:selectOneRadio>

                                <p:commandButton id="btModificar" update=":formConsultarUsuario" value="Modificar" action="#{adminUsuarioController.modificarUsuarioExecute()}"/>
                            </h:panelGrid> 
                        </p:dialog> 
                    </h:form>
                </div>
            </div> 
        </ui:define>
    </ui:composition>

</html>

